package com.cj.service;

import com.cj.po.Visitor;
import com.cj.po.PageInfo;

import java.util.List;

/**
 * 访客Service层接口
 */
public interface VisitorService {

    /**
     * 根据访客ID查找访客信息
     * @param v_id 访客ID
     * @return 返回对应的访客信息
     */
    Visitor findVisitorById(Integer v_id); // 根据访客ID查找并返回对应的访客信息

    /**
     * 获取所有访客信息
     * @return 返回所有访客的信息列表
     */
    List<Visitor> getAllVisitors(); // 返回所有访客的信息列表

    List<Visitor> getAll();

    /**
     * 分页查询访客信息
     * @param v_name 访客姓名
     * @param pageIndex 当前页索引
     * @param pageSize 每页显示数量
     * @return 返回包含访客信息及分页数据的 PageInfo 对象
     */
    PageInfo<Visitor> findPageInfo(String v_name, Integer pageIndex, Integer pageSize); // 根据姓名进行分页查询，返回 PageInfo 对象，包含访客信息及分页数据

    /**
     * 添加访客信息
     * @param visitor 访客对象，包含访客信息
     * @return 返回添加结果的状态码
     */
    int addVisitor(Visitor visitor); // 添加访客信息，并返回添加结果的状态码

    /**
     * 删除访客信息
     * @param v_id 访客ID
     * @return 返回删除结果的状态码
     */
    int deleteVisitor(Integer v_id); // 根据访客ID删除访客信息，并返回删除结果的状态码

    /**
     * 修改访客信息
     * @param visitor 访客对象，包含修改后的信息
     * @return 返回更新结果的状态码
     */
    int updateVisitor(Visitor visitor); // 修改访客信息，并返回更新结果的状态码

}
